Recently, various software data (which will be hereinafter called contents) such as game programs, voice data, image data, and so on have been actively circulated through a network such as an internet, or storage media capable of being circulated such as DVD, CD, etc. These circulation contents are reproduced by reception of data by a PC (Personal Computer) owned by a user or game apparatus, or by mounting a memory medium, or are stored in a recording device within a recording and reproducing apparatus attached to PC and the like, for example, a memory card, a hard disk and the like, the contents being utilized by new reproducing from the stored medium.
Information apparatuses such as a video game apparatus, PC and the like have an interface for receiving the circulation contents from a network or for getting access to DVD, CD and the like, and further have control means necessary for reproducing the contents, and RAM, ROM and the like used as a memory region for programs and data.
Various contents such as music data, image data, or programs are called from a memory medium by user's instructions from the information apparatus such as a game apparatus, PC and the like used as a reproducing apparatus or user's instructions through input means connected, and are reproduced though information apparatus or a display, a speaker and the like connected.
Many software contents such as game programs, music data, image data and the like are generally held in their distribution rights by owners and sales agents. Accordingly, in distribution of these contents, there is a predetermined using limitation, that is, the use of software is granted to only valid users so that reproduction without permission is not made. That is, generally, the constitution taking security into consideration is employed.
One procedure for realizing the limit of use to users is an encryption processing of distributed contents. Namely, for example, various contents such as voice data, image data, game programs and the like encrypted through an internet or the like are distributed, and means for decrypting the encrypted contents distributed, that is, a decryption key is given to only persons confirmed to be a valid user.
Encrypted data can be returned to decrypted data that can be used by decrypting processing in accordance with the predetermined procedure. Data encrypting using a decryption key for decrypting processing, and a decrypting method, using an encrypted key for encryption processing of information as described have been heretofore well known.
There are a variety of kinds of forms of data encrypting and decrypting method using an encryption key and a decryption key, but there is, as one example therefor, a system called a so-called common key encryption system. In the common key encryption system, with an encryption key used for encrypting processing for data and a decryption key used for decrypting data made to be common, a common key used for these encrypting processing and decrypting is given to a valid user so as to eliminate the data access by an invalid user. As a typical system of the system as described, there is DES (Data Encryption Standard).
The encryption key and the decryption key used for the encrypting processing and decrypting as described above can be obtained by applying a unidirectional function such as a hash function on the basis of a pass-word or the like, for example. The unidirectional function herein termed is a function which is very difficult to obtain an input conversely from an output. For example, the unidirectional function is applied with a pass-word determined by a user as an input, and the encryption key and the decryption key are produced on the basis of the output. It is substantially impossible, from the encryption key and the decryption key thus obtained, to conversely obtain a pass-word which is an original datum thereof.
A system making processing by an encryption key used for encryption and processing by a decryption key used for decrypting different algorithm is a system so-called a public key encryption system. The public key encryption system is a method using a public key that can be used by an unspecific user, in which with respect to an encrypted document for a specific individual, encrypting processing is carried out using a public key distributed by the specific individual. The document encrypted by the public key can be subjected to decrypting processing merely by a private key corresponding to the public key used for the encrypting processing. The private key is owned merely by the individual who distributed the public key, and the document encrypted by the public key can be decrypted merely by the individual having the private key. A typical public key encryption system is a RSA (Rivest-Shamir-Adleman) encryption. By making use of such an encryption system, there can be provided a system for enabling decrypting encrypted contents merely for a valid user.
In the content distributing system as described above employs many constitutions in which contents are encrypted and stored in the recording media such as a network, or DVD, CD and the like to provide them for users, and to provide a content key for decrypting encrypted contents for only a valid user. There is proposed a constitution in which a content key for preventing invalid copies of the content key itself is encrypted to provide it to a valid user, and an encrypted content key is decrypted using a decryption key owned by only the valid user to enable using the content key.
The judgment whether or not a user is valid is generally carried out by executing authenticating processing before distribution of contents or content keys, for example, between a content provider who is a transmitter of contents and a user's device. In general authenticating processing, confirmation is made of a mating party, and a session key effective only for communication is produced. When authentication is established, data, for example, contents or a content key is encrypted using the produced session key for communication. The authenticating system includes mutual authentication using a common key encryption system, and an authentication system using a public key system. In the authentication using a common key, a common key in the system wide is necessary, which is inconvenient at the time of renewal processing. Further, in the public key system, computation load is large and necessary memory quantity increases, and the provision of such a processing means on each device is not a desirable constitution.